Différents projets ont des besoins différents, mais le département des serveurs Web open source était plus ou moins un monopole. Pendant longtemps, Apache était la seule option, et gérer des charges élevées était une douleur à l'arrière. Heureusement, les temps ont changé et de nouvelles solutions ont vu le jour pour des besoins spécialisés.
Jetons donc un coup d'œil à certains des serveurs Web open source les meilleurs et les plus populaires disponibles aujourd'hui.
Il est presque synonyme du World Wide Web et alimente toujours la majorité des sites Web dans le monde.
La raison de la domination d'Apache est triple: une licence ouverte, une entrée anticipée (cette chose a été lancée en 1995!) Et un déploiement facile de PHP. Le dernier point a été rendu possible grâce au mod_phpmodule, ce qui signifie que l'installation d'Apache était tout ce dont vous aviez besoin pour développer avec PHP.
Voici ce qui rend Apache génial:
•.Disponible sur toutes les plateformes - Linux, Windows, MacOS et autres plateformes.
•.Il s'agit du serveur par défaut pour tous les hébergements partagés CPanel, ce qui facilite la configuration et la modification de sites.
•.Des tonnes de fonctionnalités offertes par une large collection de modules . Peu importe à quel point vos besoins sont obscurs, il existe certainement un module existant pour Apache.
•.Configuration par .htaccessrépertoire via des fichiers.
•.Prise en charge de HTTP / 2, compression, fichiers statiques et équilibrage de charge.
•.Modes MPM et FastCGI pour fournir une concurrence élevée.
•.Scriptage facile via Lua.
Apache est-il pour vous?
Bref, oui. Il fut un temps où Nginx (que nous considérerons ensuite) a décollé en raison de ses performances élevées, mais Apache a rattrapé son retard avec sa version 2.2. Cela dit, comme tous les premiers participants, Nginx a retiré beaucoup d'attention afin que vous puissiez rencontrer des critiques (invalides) sur ses capacités.
Si vous aimez boire à la fontaine «kool-aid» (ou pour être politiquement correct, suivez les «derniers» développements), il est probable que vous ayez entendu parler de Nginx (prononcé comme «engine-x», qui était l'idée derrière le nom). Il a été publié en tant que projet en 2002 par un ingénieur russe qui en avait assez de l'incapacité des solutions alors présentes à vaincre le problème CK10 (essentiellement, gérer des milliers de connexions simultanées).
Lorsque Nginx est sorti, cela a fait un bruit si grand que les gens se sont éloignés d'Apache et n'ont jamais regardé en arrière. Et la tendance se poursuit aujourd'hui. Alors qu'Apache est sans doute au pair aujourd'hui, Nginx a offert des améliorations étonnantes qui l'ont aidé à gagner.
•.Architecture asynchrone pour gérer des charges élevées
•.Meilleures capacités de gestion des fichiers statiques, d'équilibrage de charge et de proxy inverse de leur catégorie.
•.Mise en cache FastCGI
•.Prise en charge de uwsgi, SCGI et d'autres protocoles de serveur, avec mise en cache.
•.Gzipping, transformation d'image, plages d'octets, réponses fragmentées, etc., avec streaming FLV et MKV.
•.WebSockets, connexions keepalive et pipelined
•.Contrôle d'accès, redirection d'erreur, etc.
Dans l'ensemble, Nginx est une centrale électrique avec un tas de fonctionnalités qui le maintiennent en tête de la courbe. Étant donné que l'entreprise sous-jacente est une entreprise durable, une assistance et des conseils rémunérés sont disponibles pour des projets complexes, qui peuvent être utiles à certains.
Nginx est-il pour vous?
Si vous aimez concevoir des applications Web à votre guise, Nginx est un gros plus. Vous pouvez concevoir des systèmes complexes et distribués avec une mise en cache, un proxy et un équilibrage de charge puissants, en plus d'utiliser Nginx pour servir directement des fichiers statiques avec plusieurs optimisations.
Et, oui - Nginx est prêt pour HTTP / 2.
Intéressé à apprendre Nginx? Découvrez ce cours fondamental .
Caddy est l'un des nouveaux frameworks les plus en vogue dans la communauté open source .
Considérez Caddy comme un serveur Web de type Nginx (syntaxe similaire et tout), mais tout est simplifié à l'extrême. Par exemple, l'intégration Let's Encrypt pour SSL peut être effectuée en seulement trois lignes de configuration.
Voici pourquoi Caddy attire une tonne d'attention:
•.HTTPS activé par défaut. Oui, vous n'avez rien à faire pour installer ou renouveler les certificats SSL .
•.HTTP / 2 obtient le focus principal.
•.Fait pivoter les clés de ticket de session TLS par défaut. Cela permet une gestion des connexions TLS beaucoup plus sécurisée qui n'est pas vulnérable à des gens comme Heartbleed.
•.Aucune dépendance (c'est une base de code binaire compilée par Golang qui ne dépend d'aucune bibliothèque système sous-jacente)
•.Sert les fichiers statiques dans le répertoire courant par défaut!
•.Intégrable - peut être utilisé comme bibliothèque dans d'autres programmes
Caddy est pour toi?
Si vous avez soif de simplicité et êtes découragé par les configurations obtus des goûts d'Apache et Nginx, Caddy se sentira comme une brise d'air frais. Cela dit, cela fonctionne mieux lorsque vous êtes satisfait des valeurs par défaut. Par exemple, si vous souhaitez utiliser votre fournisseur SSL, disposez d'un répertoire séparé pour les fichiers statiques (ce qui est presque toujours le cas), et ainsi de suite, les avantages disparaissent.
Le seul domaine où la plupart des serveurs Web modernes échouent est l'utilisation des ressources. Lighthttpd a été conçu pour surmonter ces défis dans les environnements à faible mémoire et à faible processeur.
Lighthttpd est construit sur le modèle de traitement des demandes asynchrones et reflète donc essentiellement le fonctionnement de Nginx. Mais il y a un hic - Lighthttpd fonctionne dans un seul thread, donc si vous avez une machine plus performante, cela va ignorer les autres cœurs de CPU. Il manque également les fonctionnalités les plus sophistiquées de Nginx, telles que le proxy SSL, HTTP / 2, etc.
Lighthttpd est-il pour vous?
Lighthttpd est un serveur Web capable, à un seul thread, qui peut facilement gérer quelques centaines de requêtes par seconde tout en continuant à utiliser facilement les ressources système. En dehors de cela, il n'a pas beaucoup à offrir par rapport aux alternatives. Alors peut-être que si vous n'avez pas besoin de toutes les cloches et de tous les sifflets - et que vous transpirez vraiment, vraiment pour les ressources de la machine - Lighthttpd mérite d'être exploré.
Malgré le nom étrange, le serveur Web Monkey est un projet intéressant qui continue d'être activement développé et pris en charge.
L'attraction principale du MonkeyServer est le support des plates-formes embarquées. Vous auriez besoin de compiler le serveur vous-même, mais vous pouvez éliminer tous les fioritures et vous retrouver avec un serveur Web léger et rapide.
•.Cible principalement Linux, mais est également pris en charge sur MacOS
•.Prise en charge complète des processeurs ARM
•.Fonctionne parfaitement sur Android, Raspberry Pi et autres plates-formes intégrées
•.Durée d'exécution minimale (100 Ko sans plugins)
•.Prend en charge IPv6 et TLS
•.Fonctionne avec CGI et FastCGI
•.Authentification de base, règles de sécurité, etc.
MonkeyServer est-il pour vous?
Si vous souhaitez cibler des périphériques intégrés, MonkeyServer est à peu près ce dont vous avez besoin. Cela dit, il fonctionne aussi bien sur les architectures x86 et x86-64 et peut être utilisé pour exécuter des applications à grande échelle sur des machines puissantes. Il a une communauté beaucoup plus active et dynamique que les autres serveurs Web alternatifs, vous n'êtes donc jamais perdu si vous avez besoin d'aide.
OpenLiteSpeed est la version open source du serveur Web d'entreprise proposé par LiteSpeed Technologies.
Il y a plusieurs raisons d'aimer OpenLiteSpeed:
•.Compatible avec Apache mod_rewrite, ce qui signifie que si vous avez une tonne de fichiers Apache existants, la migration sera une douleur minimale.
•.Architecture événementielle dans la veine de Nginx, résultant en un débit élevé.
•.Interface d'administration GUI, offrant une expérience de configuration agréable.
•.SAPI natif pour PHP, résultant en des performances plus élevées.
•.La mise en cache et les optimisations de Google PageSpeedInsights sont appliquées par défaut.
OpenLiteSpeed est-il pour vous?
OpenLiteSpeed a beaucoup de sens pour les sites Web basés sur le contenu WordPress, car les optimisations de page font déjà partie du serveur. Puisqu'il est affiné pour les performances PHP, les bases de code et les projets basés sur PHP peuvent bénéficier énormément.
Le projet Cherokee était une démangeaison personnelle d'un développeur, qui est devenu une plate-forme de serveur Web décente. Bien qu'il n'ait pas de fonctionnalités de pointe comme Nginx, il offre une alternative facile, amusante et performante aux serveurs Web traditionnels.
La plus grande victoire pour Cherokee est la simplicité - il n'est pas nécessaire de transpirer avec la ligne de commande pour configurer le serveur. Une interface Web conviviale est fournie et est un plaisir à utiliser pour ceux qui préfèrent la méthode pointer-cliquer pour faire avancer les choses.
Bien que Cherokee ne soit pas très activement développé, c'est toujours un bon pari pour la plupart des projets de tous les jours. Vérifiez-le!